{% extends "layout.html" %}
{% block headcenter %}
  <h4><a href="/part/prj/{{ g.prjprojid }}">{{ g.prjtitle }}</a></h4>
{% endblock %}

{% block body %}
<div style="margin: 3px;">

<h2>颗粒物文件夹导入任务</h2>
<p> 本任务执行以下操作 :</p>
  <ul>
    <li>解析meta/xxxx_header_xxx.txt文件以获得可用样品的列表，并显示可用及已导入样品的列表</li>
    <li>如果样品不存在可创建样品</li>
    <li>导入样品中的元数据信息</li>
    <li>按此顺序搜索以从BRU文件中生成原始颗粒物直方图 :
            <br>DAT : results/xxx_datfile.txt,work/xxx/HDRxx.dat
            <br>BRU : results/xxx.bru, work/xxx/xxx.bru, raw/xxx/xxx.bru ,raw/xxx/xxx.bru1
    </li>
    <li>生成详细的和简化的颗粒物直方图</li>
    <li><a href="#general-help" data-toggle="collapse" class="help">导入CTD</a></li>
  </ul>
  <p>“仅上传元数据信息”复选框的目的是重新上传样品的元数据信息</p>


<div id="general-help" class="collapse panel panel-default" style="width: 800px;margin-left: 50px;">
  <div class="panel-body">
<b>关于导入CTD数据文件格式的重要说明:</b><br>
这个颗粒物模块不是一个设计用来处理各种CTD文件格式的应用程序。如果你想要导入CTD数据和颗粒物/浮游动物的数据，你必须按照下面的规则来将这些文件处理成固定格式 :<br>
- 每个样品/剖面一个文件<br>
- 文件位置：Zooprocess项目的ctd_data_cnv文件夹下<br>
- 文件名称：profileid.ctd（与*_header_*.txt文件中记录的相同的profileid）<br>
- 分隔符：Tab<br>
- 文件编码：Latin1<br>
- 列标题：我们定义了一个标准列名列表。我们建议您遵从这个标准来显示您来自其他项目的数据。您也可以对其他参数使用其他名称。对于垂直剖面来说，pressure一列是强制性的，对于时间序列来说，time一列是强制性的。名称用大小写都可以。  预定义列名的列表为 :
<p style=" white-space: pre; margin-left: 50px; ">
chloro fluo [mg chl m-3]
conductivity [ms cm-1]
cpar [%]
depth [m]
fcdom [ppb qse]
in situ density anomaly [kg m-3]
nitrate [umol l-1]
oxygen [umol kg-1]
oxygen [ml l-1]
par [umol m-2 s-1]
potential density anomaly [kg m-3]
potential temperature [degc]
practical salinity [psu]
<b>pressure [db] => MANDATORY for DEPTH PROFILES</b>
qc flag
spar [umol m-2 s-1]
temperature [degc]
<b>time [yyyymmddhhmmssmmm] => MANDATORY FOR TIME SERIES</b>
</p>
</div>
</div>


<p>导入文件夹: {{ data.DossierUVP }}</p>
<form class="form" method="post" >
<style>
{#  On centre les coche de selection#}
  #tblsample td:nth-child(1) {text-align: center}
</style>
<h3>新样品导入</h3>
<table id="tblsample" class="table table-bordered table-condensed" style="width: auto;">
  <tr>
    <th style="text-align: center;">选择<br>
      <input type="checkbox" id="checkall" onclick="$('#tblsample td input').prop('checked',$(this).prop('checked'))" checked>
    </th>
    <th>profileid</th>
    <th>filename</th>
    <th>stationid</th>
    <th>firstimage</th>
    <th>endimg</th>
    <th>comment</th>
  </tr>
{% for r in data.profilelistinheader if r['psampleid'] == None %}
  <tr>
    <td><input type="checkbox" name="new_{{ loop.index }}" value="{{ r['profileid'] }}" checked></td>
    <td>{{ r['profileid'] }}</td>
    <td>{{ r['filename'] }}</td>
    <td>{{ r['stationid'] }}</td>
    <td>{{ r['firstimage'] }}</td>
    <td>{{ r['endimg'] }}</td>
    <td>{{ r['comment'] }}</td>
  </tr>

  {% endfor %}
</table>
<h3>已导入的样品更新</h3>
<table id="tblsample2" class="table table-bordered table-condensed" style="width: auto;">
  <tr>
    <th style="text-align: center;">Select<br>
      <input type="checkbox" id="checkall" onclick="$('#tblsample2 td input').prop('checked',$(this).prop('checked'))" >
    </th>
    <th>profileid</th>
    <th>filename</th>
    <th>stationid</th>
    <th>firstimage</th>
    <th>endimg</th>
    <th>ID</th>
    <th>Raw Part. Histo</th>
    <th>Det Part. Histo</th>
    <th>Reduced Part. Histo</th>
    <th>Taxonomy Histo</th>
    <th>comment</th>
  </tr>
{% for r in data.profilelistinheader if r['psampleid'] != None %}
  <tr>
    <td><input type="checkbox" name="new_{{ loop.index }}" value="{{ r['profileid'] }}" ></td>
    <td>{{ r['profileid'] }}</td>
    <td>{{ r['filename'] }}</td>
    <td>{{ r['stationid'] }}</td>
    <td>{{ r['firstimage'] }}</td>
    <td>{{ r['endimg'] }}</td>
    <td>{{ r['psampleid'] }}</td>
    <td>{{ r['histobrutavailable'] }}</td>
    <td>{{ r['nbrlinedet'] }}</td>
    <td>{{ r['nbrlinereduit'] }}</td>
    <td>{{ r['nbrlinetaxo'] }}</td>
    <td>{{ r['comment'] }}</td>
  </tr>

  {% endfor %}
</table>

<input type="checkbox" name="onlymeta" value="Y"> 仅上传元数据信息.<br>
    <input type="hidden" name="starttask" value="Y">
			<button type="submit" class="btn btn-lg  btn-primary" style="width: 400px;margin: 5px 20px;">开始导入</button>

</form>

<script>
function TaxoHelperBtAdd(){
  var s=$('#oldname').val()+"="+$('#taxolb option:selected').text();
  var txt=$('#TxtTaxoMap');
  txt.val( txt.val() +s+ "\n");
}

$(document).ready(function() {
    $('#FileModal').on('show.bs.modal', function () {
        $("#TaxoModalBody").html(""); {# Pour eviter les conflit sur le jstree suite à des ouverture successive car le jstree est dans la modal cachée #}
         $("#FileModalBody").html("Loading...").load("/common/ServerFolderSelect");
    });
    $(".taxolb").select2({
        ajax: {
            url: "/search/taxo",
            dataType: 'json',
            delay: 250,
            data: function (params) {  return { q: params.term, page: params.page };  },
            processResults: function (data) { return { results: data};  },
            cache: true
        },
        minimumInputLength: 3
    }); // Select2 Ajax
    $('#TaxoModal').on('show.bs.modal', function () {
         $("#FileModalBody").html("");
         $("#TaxoModalBody").html("Loading...").load("/search/taxotree?target=taxolb");
    });
  }); // Ready
</script>


</div>
{% endblock %}